1. Field of the Invention
This invention relates to electronic commerce, and more specifically to a system, method, and program for enabling a client to carry out a transaction with one merchant's Web server depending upon a result of a transaction with another merchant's Web server; thereby allowing an on-line shopper to cancel a purchase if a better bargain is found with another merchant, or to go forward with a purchase if a previous purchase transaction with another merchant can be canceled.
2. Description of the Related Art
As computational devices continue to proliferate throughout the world, there also continues to be an increase in the use of networks connecting these devices. Computational devices include large mainframe computers, workstations, personal computers, laptops and other portable devices including wireless telephones, personal digital assistants, automobile-based computers, etc. Such portable computational devices are also referred to as “pervasive” devices. The term “computer” or “computational device”, as used herein, may refer to any of such device which contains a processor and some type of memory. The networks connecting computational devices may be “wired” networks, formed using lines such as copper wire or fiber optic cable, wireless networks employing earth and/or satellite-based wireless transmission links, or combinations of wired and wireless network portions. Many such networks may be organized using a client/server architecture, in which “server” computational devices manage resources, such as files, peripheral devices, or processing power, which may be requested by “client” computational devices. “Proxy servers” can act on behalf of other machines, such as either clients or servers.
A widely used network is the Internet. The Internet, initially referred to as a collection of “interconnected networks”, is a set of computer networks, possibly dissimilar, joined together by means of gateways that handle data transfer and the conversion of messages from the sending network to the protocols used by the receiving network. When capitalized, the term “Internet” refers to the collection of networks and gateways that use the TCP/IP suite or protocols.
Currently, the most commonly employed method of transferring data over the Internet is to employ the World Wide Web environment, referred to herein as “the Web”. Other Internet resources exist for transferring information, such as File Transfer Protocol (FTP) and Gopher, but have not achieved the popularity of the Web. In the Web environment, servers and clients effect data transfer using the Hypertext Transfer Protocol (HTTP), a known protocol for handling the transfer of various data files (e.g., text, still graphic images, audio, motion video, etc.).
The term e-commerce is used herein to refer to any commercial activity using computers interconnected by a communication network, e.g., the Internet. Because of the unique characteristics of the Internet, carrying out commercial transactions over the Internet presents new issues and new opportunities.
Shopping in the real physical world has traditionally involved many factors. Typically, the shopping experience for many people includes negotiations over price; comparisons of price between various merchants; the ability to hold an item at one store for a period of time while other stores are visited to compare the prices and quality of similar products; the ability to return products when dissatisfied for any reason; and the presence of refund policies and procedures.
Canceling committed transactions (e.g. a purchase) is often a necessity in real life scenarios. Currently, many merchants allow for order cancellation if a product has not been shipped. However, this typically involves calling the merchant. Likewise some e-commerce merchants allow for electronic cancellation if a product has not been shipped. Furthermore, if a buyer cancels a transaction and then goes to buy from another merchant, the buyer may find that by the time the transaction is canceled the merchandise is not available from the other merchant.
Current e-commerce systems having a single Web server involved in the transaction are enabled to cancel a transaction as follows. First, the client clicks on the hyper link to show the client's order status from an e-commerce server at time t1. Then, the e-commerce server receives the HTTP request at time t2. The e-commerce server processes the information, and starts sending the page at time t3. The client receives the page and displays it at time t4. The client clicks on some element (e.g. a button) to cancel a transaction at time t5. The e-commerce server receives the HTTP request to cancel the transaction at time t6. The e-commerce server cancels the transaction, and sends notification to the client at time t7. The client receives and displays notification at time t8.
The problem with the above scheme is that the server sends information at time t3 but receives the cancellation request at time t6. Hence, the server must lock the associated data and any processing on it such that the information does not change between time t3 and t6. It should be noted that this is a common problem that is often encountered by database systems. If the locking is not done, the Web client may attempt to cancel transactions based on incorrect information. This would generate negative opinion and lack of trust in the e-commerce system from clients. In addition, time dependent transactions are important in some degree in many if not all areas of commerce, and are even more critical in other areas of commerce, e.g. for arbitrage based trading.
In the real physical world, the shopper is at the center of the shopping experience; either making the decisions or deciding not to shop if the retailer's requirements or policies are anything less than favorable to the shopper. To the contrary, prior art e-commerce systems are “merchant-centric”. The merchant-centric nature of e-commerce is made evident by the fact that many of the e-commerce solutions that are being provided today are for e-commerce servers, i.e., the merchant's servers, and not for the buyer's client.